import type { PageParam, PageResult } from '@vben/request';
import type { Dayjs } from 'dayjs';

import { requestClient } from '#/api/request';

export namespace DiningRestaurantApi {
  /** 餐厅表（支持一店多餐厅）信息 */
  export interface DiningRestaurant {
    id: number; // 主键ID
    groupId?: number; // 集团ID
    storeId?: number; // 所属门店ID
    restaurantCode?: string; // 餐厅编码
    restaurantName?: string; // 餐厅名称
    restaurantType: string; // 餐厅类型
    floorNumber: number; // 所在楼层
    areaName: string; // 所属区域名称
    description: string; // 餐厅描述
  }
}

/** 查询餐厅表（支持一店多餐厅）分页 */
export function getDiningRestaurantPage(params: PageParam) {
  return requestClient.get<PageResult<DiningRestaurantApi.DiningRestaurant>>(
    '/spa/dining-restaurant/page',
    { params },
  );
}

/** 查询餐厅表（支持一店多餐厅）详情 */
export function getDiningRestaurant(id: number) {
  return requestClient.get<DiningRestaurantApi.DiningRestaurant>(
    `/spa/dining-restaurant/get?id=${id}`,
  );
}

/** 新增餐厅表（支持一店多餐厅） */
export function createDiningRestaurant(
  data: DiningRestaurantApi.DiningRestaurant,
) {
  return requestClient.post('/spa/dining-restaurant/create', data);
}

/** 修改餐厅表（支持一店多餐厅） */
export function updateDiningRestaurant(
  data: DiningRestaurantApi.DiningRestaurant,
) {
  return requestClient.put('/spa/dining-restaurant/update', data);
}

/** 删除餐厅表（支持一店多餐厅） */
export function deleteDiningRestaurant(id: number) {
  return requestClient.delete(`/spa/dining-restaurant/delete?id=${id}`);
}

/** 导出餐厅表（支持一店多餐厅） */
export function exportDiningRestaurant(params: any) {
  return requestClient.download('/spa/dining-restaurant/export-excel', {
    params,
  });
}
